﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Crosland.Automotriz.Facade.Interface;
using Crosland.Automotriz.Facade.Facade;
using Crosland.Automotriz.Entidad;
using DevExpress.Web.ASPxGridView;

namespace Crosland.Automotriz.Web.Vehiculos
{
	public partial class wFrmProduccionEncajonado :BaseForm
	{

		iFacadeProduccionArmadoVehiculos BI_PRODUCCION_VEHI_ARMADO = new FacadeProduccionArmadoVehiculos();

		protected override void Inicializar()
		{
			ListarEstados();
			Centros();
            cboCentro.SelectedIndex = 0;
            cboEstado.Value = "140";//Encaj. Proceso
            CargarEquipos();
			cboEquipo.SelectedIndex = 0;
            BuscarVehiculosEncajonados();
		}

		public void Centros()
		{
			cboCentro.DataSource = BI_PRODUCCION_VEHI_ARMADO.ListarCentros();
			cboCentro.TextField = "DES_CENTRO";
			cboCentro.ValueField = "ID_CENTRO";
			cboCentro.DataBind();
		}

		public void CargarEquipos()
		{
            int idCentro = Convert.ToInt32(cboCentro.Value);
			cboEquipo.DataSource = BI_PRODUCCION_VEHI_ARMADO.ListarEquipos("Encajonado",idCentro);
			cboEquipo.TextField = "NOMBRE_EQUIPO";
			cboEquipo.ValueField = "ID_OPE_MAE_EQUIPOS_CAB";
			cboEquipo.DataBind();
		}

		protected void ListarEstados()
		{

			cboEstado.DataSource = BI_PRODUCCION_VEHI_ARMADO.ListarEstadosEncajonados();
			cboEstado.TextField = "DES_CORTA";
			cboEstado.ValueField = "ID_GENERAL_DET";
			cboEstado.DataBind();

		}

		protected void BuscarVehiculosEncajonados()
		{

			List<T_LOG_VEHICULOS_ENCAJONADOS> DatosVehiculos = new List<T_LOG_VEHICULOS_ENCAJONADOS>();
			int idEstado = Convert.ToInt32(cboEstado.Value);
			int idEquipo = Convert.ToInt32(cboEquipo.Value);
			int idCentro = Convert.ToInt32(cboCentro.Value);

			DatosVehiculos = BI_PRODUCCION_VEHI_ARMADO.BuscarVehiculosEncajonados(idEstado,idEquipo,idCentro);

			dgvEncajonado.DataSource = DatosVehiculos;
			dgvEncajonado.DataBind();


		}

		protected void btnBuscar_Click(object sender, EventArgs e)
		{
			BuscarVehiculosEncajonados();
		}

		protected void dgvEncajonado_RowCommand(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewRowCommandEventArgs e)
		{
			int id = Convert.ToInt32(e.CommandArgs.CommandArgument);

			Session["ID_CAB"] = id;
			Session["AccionEncajonado"] = e.CommandArgs.CommandName;
			

            if (e.CommandArgs.CommandName.ToString() == "Equipo")
            {
                gvEquipos.DataSource = BI_PRODUCCION_VEHI_ARMADO.EquiposDeEncajonado(id);
                gvEquipos.DataBind();
                popupEquipo.ShowOnPageLoad = true;
            }
            else
            {
                popupConfirmacion.ShowOnPageLoad = true;
            }

		}

		protected void btnSi_Click(object sender, EventArgs e)
		{
			string cod_usuario = Session["User"].ToString();
            int id = Convert.ToInt32(Session["ID_CAB"]);
			string accion = Session["AccionEncajonado"].ToString();

			if (accion == "Terminar")
			{
				if (BI_PRODUCCION_VEHI_ARMADO.ActualizarEstadoEncajonado(id, 141) == true)
				{
					BuscarVehiculosEncajonados();
				}
				else
				{
					lblMsj.Text = "Error al procesar la acción.";
					popupMsj.ShowOnPageLoad = true;
				}

			}
			else if (accion == "Anular")
			{
				if (BI_PRODUCCION_VEHI_ARMADO.ActualizarEstadoEncajonado(id, 139) == true)
				{
					BuscarVehiculosEncajonados();
				}
				else
				{
					lblMsj.Text = "Error al procesar la acción.";
					popupMsj.ShowOnPageLoad = true;
				}

			}


		}

		protected void dgvEncajonado_HtmlRowCreated(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewTableRowEventArgs e)
		{
			if (e.RowType != DevExpress.Web.ASPxGridView.GridViewRowType.Data) return;

			int indicador = Convert.ToInt32(cboEstado.Value);

			//ImageButton imgIniciar = dgvEncajonado.FindRowCellTemplateControl(e.VisibleIndex, null, "btnIniciar") as ImageButton;
			ImageButton imgTerminar = dgvEncajonado.FindRowCellTemplateControl(e.VisibleIndex, null, "btnTerminar") as ImageButton;
			ImageButton imgAnular = dgvEncajonado.FindRowCellTemplateControl(e.VisibleIndex, null, "btnAnular") as ImageButton;

			if (indicador == 138)
			{
			    //imgIniciar.Visible = true;
				imgTerminar.Visible = false;
				imgAnular.Visible = false;
			}
			else if (indicador==140)
			{
				//imgIniciar.Visible = false;
				imgTerminar.Visible = true;
				imgAnular.Visible = true;
			}
			else if (indicador == 141)
			{
				//imgIniciar.Visible = false;
				imgTerminar.Visible = false;
				imgAnular.Visible = true;
			}
			else if (indicador == 139)
			{
				//imgIniciar.Visible = false;
				imgTerminar.Visible = false;
				imgAnular.Visible = false;
			}


		}

		protected void btnNuevo_Click(object sender, EventArgs e)
		{
			Response.Redirect("/Vehiculos/wFrmProduccionEncajonadoNuevo.aspx?id=97&sub=99");
		}

        protected void gvEncajonadoDet_BeforePerformDataSelect(object sender, EventArgs e)
        {
            Session["ID_ENC_CAB"] = (sender as ASPxGridView).GetMasterRowKeyValue();
        }

	}
}